//#include <iostream>
//using namespace std;
//const int N = 1e6 + 10;
//int n;
//int l[N] , r[N];
//void dfs1(int x)
//{
//	if (x == 0)return;
//	cout << x <<' ';
//	dfs1(l[x]);
//	dfs1(r[x]);
//}
//void dfs2(int x)
//{
//	if (x == 0)return;
//	dfs2(l[x]);
//	cout << x <<' ';
//	dfs2(r[x]);
//}
//void dfs3(int x)
//{
//	if (x == 0)return;
//	dfs3(l[x]);
//	dfs3(r[x]);
//	cout << x <<' ';
//}
//int main()
//{
//	cin >> n;
//	for (int i = 1;i <= n;i++)
//	{
//		cin >> l[i] >> r[i];
//	}
//	dfs1(1);
//	cout << endl;
//	dfs2(1);
//	cout << endl;
//	dfs3(1);
//	return 0;
//}